<!DOCTYPE html>
<html>
<head>
    <title>MVVM</title>
    <meta charset="utf-8">
    <link href="../../content/shared/styles/examples-offline.css" rel="stylesheet">
    <link href="../../../styles/kendo.common.min.css" rel="stylesheet">
    <link href="../../../styles/kendo.rtl.min.css" rel="stylesheet">
    <link href="../../../styles/kendo.default.min.css" rel="stylesheet">

    <script src="../../../js/jquery.min.js"></script>
    <script src="../../../js/kendo.web.min.js"></script>
    <script src="../../content/shared/js/console.js"></script>
    <script>
        
    </script>
    
    
</head>
<body>
    
        <a class="offline-button" href="../index.html">Back</a>
    
    <div id="example" class="k-content">
    <div class="configuration-horizontal">
        <div class="config-section" data-bind="visible: isPrimitive">
            <span class="configHead">AutoComplete</span>
            <input data-role="autocomplete"
                   data-placeholder="Type a product e.g. 'Chai'"
                   data-value-primitive="true"
                   data-text-field="ProductName"
                   data-bind="value: selectedProduct,
                              source: products,
                              visible: isVisible,
                              enabled: isEnabled,
                              events: {
                                change: onChange,
                                open: onOpen,
                                close: onClose
                              }"
            />
            <p>
                <strong>data-value-primitive</strong> is set to <strong>true</strong>
            </p>
        </div>
        <div class="config-section" data-bind="invisible: isPrimitive">
            <span class="configHead">AutoComplete</span>
            <input data-role="autocomplete"
                   data-placeholder="Type a product e.g. 'Chai'"
                   data-text-field="ProductName"
                   data-bind="value: selectedProduct,
                              source: products,
                              visible: isVisible,
                              enabled: isEnabled,
                              events: {
                                change: onChange,
                                open: onOpen,
                                close: onClose
                              }"
            />
            <p>
                <strong>data-value-primitive</strong> is <strong>not</strong> set.
            </p>
        </div>
        <div class="config-section console-section">
            <div class="configHead">Console</div>
            <div class="console"></div>
        </div>
    </div>
    <div class="configuration-horizontal">
        <div class="config-section">
            <span class="configHead">Configuration</span>
            <div>
                <label><input type="checkbox" data-bind="checked: isPrimitive, events: { change: primitiveChanged }">Set <strong>data-value-primitive</strong></label>
            </div>
            <div>
                <label><input type="checkbox" data-bind="checked: isEnabled">Enable</label>
            </div>
            <div>
                <label><input type="checkbox" data-bind="checked: isVisible">Visible</label>
            </div>
        </div>
        <div class="config-section" style="width: 440px">
            <span class="configHead">Information</span>
            Kendo UI AutoComplete supports the
            <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/enabled">enabled</a>,
            <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/events">events</a>,
            <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/source">source</a>,
            <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/value">value</a> and
            <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/visible">visible</a> bindings.
        </div>
    </div>
<script>
    var viewModel = kendo.observable({
        selectedProduct: null,
        isPrimitive: false,
        isVisible: true,
        isEnabled: true,
        primitiveChanged: function() {
            this.set("selectedProduct", null);
        },
        displaySelectedProduct: function() {
            var selectedProduct = this.get("selectedProduct");
            return kendo.stringify(selectedProduct, null, 4);
        },
        onOpen: function() {
            kendoConsole.log("event :: open");
        },
        onChange: function() {
            kendoConsole.log("event :: change (" + this.displaySelectedProduct() + ")");
        },
        onClose: function() {
            kendoConsole.log("event :: close");
        },
        products: new kendo.data.DataSource({
            transport: {
                read: {
                    url: "http://demos.telerik.com/kendo-ui/service/products",
                    dataType: "jsonp"
                }
            }
        })
    });
    kendo.bind($("#example"), viewModel);
</script>
</div>

	
			
</body>
</html>
